//
//  XMStatusListViewModel.swift
//  XMWeimo
//
//  Created by ios001 on 16/7/23.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

class XMStatusListViewModel: NSObject {
    // 全局的模型数组
    lazy var statusList:[XMStatusViewModel] = [XMStatusViewModel]()
}

// MARK: - 微博首页
extension XMStatusListViewModel{
    
    func loadHomeData(isPullUp: Bool, isFinish:(isSuc: Bool, count: Int)->()){
        var maxId: Int64 = 0
        var sinceId: Int64 = 0
        // 上拉加载更多
        
        if isPullUp {
            maxId = statusList.last?.status?.id ?? 0
            // 因为服务器返回来的数据,需要程序员自己处理
            if maxId > 0{
                maxId -= 1
            }
        } else {
            // 下拉刷新
            sinceId = statusList.first?.status?.id ?? 0
        }

        XMStatusDAL.checkCache(sinceId, maxId: maxId) { (response) -> () in
            // 判断是否为nil
            guard let res = response else{
                isFinish(isSuc: false,count: 0)
                return
            }
            // 定义一个临时可变数组
            var tempArray: [XMStatusViewModel] = [XMStatusViewModel]()
            // 遍历数组
            for dic in res {
                // 创建一个模型
                let status = XMStatus(dict: dic)
                // 创建一个viewModel
                let statusViewModel = XMStatusViewModel(status: status)
                
                // 添加viewModel
                tempArray.append(statusViewModel)
            }
            
            // 上拉加载更多
            if isPullUp {
                self.statusList = self.statusList + tempArray
                isFinish(isSuc: true, count: -1)
            }else{
                // 下拉刷新
                self.statusList = tempArray + self.statusList
                isFinish(isSuc: true, count: tempArray.count)
            }
        }
    }
}
